package test1224;

public class Test12 {
    public static void main(String[] args) {
        // 根据方法的调用需求实现方法
        // 互换元素1和元素5的位置
        int[] arr = {1,2,3,4,5};
        m12(arr);
    }
    public static void m12(int[] arr) {
        int maxIndex = 0; // 存储最大值的下标
        int minIndex = 0; // 存储最小值的下标
        int maxValue = arr[0]; // 存储当前找到的最大值
        int minValue = arr[0]; // 存储当前找到的最小值

        // 使用 for 循环遍历数组并找出最大值和最小值的下标
        for (int i = 1; i < arr.length; i++) {
            if (arr[i] > maxValue) {
                maxValue = arr[i];
                maxIndex = i;
            }
            if (arr[i] < minValue) {
                minValue = arr[i];
                minIndex = i;
            }
        }

        // 检查最大值和最小值的下标是否相同（理论上在唯一元素数组中才可能发生）
        if (maxIndex != minIndex) {
            // 交换最大值和最小值的位置
            int temp = arr[maxIndex];
            arr[maxIndex] = arr[minIndex];
            arr[minIndex] = temp;
        }

        // 输出交换后的数组
        System.out.print("交换后的数组是: ");
        for (int i : arr) {
            System.out.print(i + " ");
        }
        }
    }



